package models

// SysRole 系统角色
type SysRole struct {
	Id             *int            `json:"id" gorm:"column:id;primary_key;auto_increment"`                     //ID
	CreateTime     *LocalTime      `json:"createTime" gorm:"column:create_time;type:timestamp;autoCreateTime"` //创建时间
	UpdateTime     *LocalTime      `json:"updateTime" gorm:"column:update_time;type:datetime;autoUpdateTime"`  //更新时间
	CreateBy       *int            `json:"createBy" gorm:"column:create_by;type:int"`                          //创建人
	DelBy          *int            `json:"delBy" gorm:"column:del_by;type:int"`                                //删除人
	Del            *int            `json:"del" gorm:"column:del;type:int"`                                     //软删除
	Remark         *string         `json:"remark" gorm:"column:remark;type:varchar(20)"`                       //备注
	RoleName       *string         `json:"roleName" gorm:"column:role_name;type:varchar(20)"`                  //角色名称
	SysMenus       []SysMenu       `json:"sysMenus" gorm:"many2many:sys_role_menus"`                           //系统菜单列表
	SysPermissions []SysPermission `json:"sysPermissions" gorm:"many2many:sys_role_permissions"`               //系统权限列表
}

// TableName 设置表名称
func (models *SysRole) TableName() string {
	return "sys_role"
}

// 初始化
func init() {
	//将模型添加到注册容器中
	registerContainer = append(registerContainer, &SysRole{})
}
